#include <iostream>

using namespace std;
//静态成员就是在成员变量和成员函数前加上关键字static，称为静态成员

//2、静态成员函数
//所有对象共享同一个函数
//静态成员函数只能访问静态成员变量
class Person {
public:
    static void func() {
        age = 20;//静态成员函数 可以访问静态成员变量

        //high=20;//静态成员函数 不可以访问非静态成员变量
        cout << "func函数的调用" << endl;
    }

    static int age;//静态成员变量
    int high;//非静态成员变量
//静态成员函数也是有访问权限的
private:
    static void func2() {
        cout << "func2函数的调用" << endl;
    }
};

int Person::age = 10;

void test1() {
    //静态成员函数 不属于某个对象上，所有对象都共享同一份数据,因此静态成员变量有两种访问方式
    //1、通过对象进行访问
    Person person;
    person.func();
    //2、通过类名进行访问
    Person::func();
    //Person::func2();//类外访问不到私有静态成员函数
}

int main() {
    test1();
    return 0;
}